Amazon Interactive Video Service(IVS) คืออะไร? การแนะนำฟังก์ชันล่าสุดของ AWS ในปี 2023
สวัสดีครับทุกท่านวันนี้อยากจะพาทุกท่านมาทำความรู้จักกับอีกหนึ่งบริการ AWS ที่น่าสนใจ Amazon Interactive Video Service หรือเรียกสั้นๆว่า IVS ซึ่งเป็นบริการที่เกี่ยวข้องกับวีดีโอสตรีมมิ่ง รวมไปถึงการไลฟ์สดต่างๆ ซึ่งเหมาะกับยุคสมัยปัจจุบันที่เกือบทุกธุรกิจขับเคลื่อนการตลาดต่างๆด้วยวีดีโอ ยิ่งไปกว่านั้นบริการนี้ยังสามารถนำไปปรับใช้ในรูปแบบต่างได้อีกด้วยอยากรู้ว่าน่าสนใจขนาดไหนไปลองดูเนื้อหากันเลยครับ
Amazon Interactive Video Service(IVS) คือ?
Amazon Interactive Video Service (ต่อจากนี้จะเรียกว่า IVS) ได้ถูกเพิ่มเป็นบริการใหม่ใน AWS MediaServices เมื่อวันที่ 15/7/2020
AWS MediaServices เป็นกลุ่มบริการ Managed service ที่เกี่ยวข้องกับการเผยแพร่วีดีโอของ AWS จากเว็บไซต์อย่างเป็นทางการ นอกจาก IVS แล้วยังมีบริการต่างๆอีกมากมายตามตัวอย่างทางด้านล่าง
- AWS Elemental MediaConnect
- AWS Elemental MediaLive
- AWS Elemental MediaPackage
- AWS Elemental MediaStore
- AWS Elemental MediaConvert
- AWS Elemental MediaTailor
- Amazon Kinesis Video Stream
จุดเด่นของ Amazon IVS
Amazon IVSมีจุดเด่นหลักๆ 6 ข้อดังนี้
- Quick and easy-to-setup
- การเผยแพร่ด้วยความหน่วงต่ำสูง (Ultra-low latency)
- รองรับ SDK Player
- รองรับการใช้งานแบบ Global
- API Meta data แบบระบุเวลา
- เป็นบริการแบบชำระตามการใช้งานตามชั่วโมงในการเผยแพร่และรับชม
มาลงรายละเอียดกันเลย
Quick and easy-to-setup
IVS มีโครงสร้างที่ค่อนข้างเรียบง่าย
ตามที่แสดงทางด้านล่าง ในการเผยแพร่สื่อจะมีเพียงโครงสร้างของ IVS เท่านั้น
และยังสามารถตั้งค่าให้เสร็จสมบูรณ์ได้ด้วยการคลิกเพียงไม่กี่ครั้งผ่าน AWS Management Console
การเผยแพร่ด้วยความหน่วงต่ำสูง (Ultra-low latency)
การเผยแพร่ด้วยความหน่วงต่ำมาก คืออะไร?
เอกสารอย่างเป็นทางการของ IVS ระบุไว้ว่า:
What is Ultra-Low-Latency Live Video? Low latency reduces the delay from when a camera captures a live stream to when the stream appears on a viewer’s screen. Amazon IVS can deliver video with latency under five seconds. For a traditional Over-The-Top (OTT) stream, latency may be as high as 30 seconds.
ความหน่วงต่ำ คือ การลดความหน่วงบนหน้าจอของผู้ชมหลังจากที่กล้องเริ่มส่งภาพการสตรีมสด โดย IVS จะมีการหน่วงเวลาจะเท่ากับหรือน้อยกว่า 5 วินาที ทำให้สามารถเผยแพร่การถ่ายทอดสดที่มีความหน่วงต่ำสูงให้ใกล้เคียงกับเวลาจริงได้มากยิ่งขึ้น
รองรับ SDK Player
บน IVS คุณสามารถใช้ SDK สำหรับการเล่นสตรีมข้ามแพลตฟอร์มที่เรียกว่า Amazon SDK Player ได้
SDK นี้ได้รับการออกแบบมาให้เหมาะสมสำหรับการเล่นของ IVS ทำให้เป็นเครื่องเล่นเดียวที่รับประกันประสิทธิภาพสำหรับการเผยแพร่สื่อที่มีความหน่วงต่ำ
Amazon SDK Player มีคุณสมบัติที่น่าสนใจดังนี้
- การสตรีมแบบความหน่วงต่ำสูง
- รองรับการข้ามแพลตฟอร์ม
- ใช้อัลกอริทึม ABR (Adaptive Bitrate Streaming)
- Metadata ที่ระบุเวลา (Timed Metadata)
- การจัดการข้อผิดพลาดที่ร้ายแรง
- ความง่ายในการใช้ร่วมกัน
โดยคุณสมบัติที่อยากแนะนำโดยเฉพาะคือ ความง่ายในการใช้ร่วมกัน
Amazon SDK Player รองรับ JavaScript, iOS และ Android และเนื่องจากสามารถใช้งานได้กับใช้สภาพแวดล้อมและเทคนิคการเข้ารหัสที่คุ้นเคยอยู่แล้ว จึงสามารถฝังเครื่องเล่นลงในแอปพลิเคชันได้อย่างง่ายดาย
รองรับการใช้งานแบบ Global
เอกสารอย่างเป็นทางการของ IVS (Security - Resilience) มีคำอธิบายดังต่อไปนี้
Video ingestion and distribution run over Amazon IVS’s Content Delivery Network (CDN). The CDN is specialized and highly tuned for low-latency video. This enables Amazon IVS to provide customers with end-to-end, high quality video served to a global audience with minimal delay. The video CDN has global Points-of-Presence (PoPs), allowing broadcasters and viewers to be geographically dispersed.
ด้วย CDN เฉพาะของ IVS และ PoP (Points-of-Presence) ที่เป็น Global สามารถเผยแพร่วิดีโอด้วยความหน่วงต่ำได้ แม้สถานที่เผยแพร่และสถานที่รับชมจะอยู่ห่างไกลกันก็ตาม
ซึ่งการสนับสนุนแบบ Global นี้เองที่มีส่วนช่วยอย่างมากในการทำให้เกิดความหน่วงต่ำสูง ดังที่กล่าวไปข้างต้น
API Meta data แบบระบุเวลา
เอกสารอย่างเป็นทางการของ IVS ได้มีคำอธิบายเกี่ยวกับ Metadata ที่ระบุเวลา (Timed Metadata) (Embedding Metadata within a Video Stream) ตามเนื้อหาดังต่อไปนี้
Timed metadata is metadata with timestamps. It can be inserted into a stream programmatically, using the Amazon IVS API. When Amazon IVS processes a stream, the timed metadata is synchronized with the audio and video frames. During playback, all viewers of the stream get the metadata at the same time relative to the stream. The timecode serves as a cue point, which can be used to trigger an action based on the data, such as the following: - Updating player statistics for a sports stream. - Sending product details for a live shopping stream. - Sending questions for a live quiz stream.
Metadata ที่ระบุเวลา คือ Metadata ที่มี timestamped ซึ่งสามารถใช้ API แทรกลงไปในวีดีโอสตรีมได้ เมื่อ IVS ทำการประมวลผลสตรีม Metadata จะถูกซิงโครไนซ์เข้ากับเสียงและวิดีโอของสตรีม โดยที่สตรีมฝั่งผู้ชมก็จะดึงข้อมูล Metadata เข้าไปด้วยเช่นกัน
ซึ่งนั่นหมายความว่าเราสามารถส่งข้อมูล Metadata ที่กำหนดไปยังผู้ชมทั้งหมดได้โดยการเรียกใช้ API ระหว่างกาเผยแพร่ได้นั่นเอง ด้วยคุณสมบัตินี้จะช่วยมอบประสบการณ์การรับชมแบบอินเทอร์แอกทีฟ ไม่ว่าจะเป็น การอัปเดตสถิติของผู้เล่นระหว่างการถ่ายทอดกีฬา, การส่งข้อมูลผลิตภัณฑ์ในการไลฟ์ขายของ หรือ การส่งคำถามสำหรับออกอากาศ เป็นต้น
หากจะให้อธิบายให้เห็นภาพยิ่งขึ้น เมื่อทำการรันคำสั่ง AWS CLI ต่อไปนี้และส่งข้อมูล Metadata ในรูปแบบ JSON ไปยัง IVS แล้ว
aws ivs put-metadata \
--channel-arn "arn:aws:ivs:us-west-2:XXXXXXXXXXXX:channel/XXXXXXXXXXXX" \
--metadata "{\"question\": \"What pet do you have?\",\"answers\": [ \"Cat\", \"Dog\", \"Bird\", \"No Pet\" ],\"correctIndex\":2}" \
--region us-west-2
จะแสดงคำถามบนหน้าจอที่กำลังออกอากาศอยู่ตามภาพนี้
บริการจะคิดค่าใช้บริการตามเวลาที่เผยแพร่สื่อ และ เวลาในการรับชม
เนื่องจาก IVS เป็นบริการ fully managed services ที่มีการเก็บค่าบริการตามเวลาที่กระจายสื่อ และ เวลาในการรับชม ดังนั้นหากหากไม่ได้กระจายสื่อก็จะไม่คิดค่าบริการ
และด้วยการเป็นบริการแบบ fully managed serverless service นี่เอง ที่ไม่มีค่าบำรุงรักษาในด้านโครงสร้างพื้นฐานซึ่งเป็นสิ่งที่ดีมากๆ
AWS MediaSerivces ก็มีรูปแบบการเรียกเก็บเงินที่คล้ายกัน สำหรับผู้ใช้งานอยู่น่าจะเป็นเรื่องปกติเกี่ยวกับรูปแบบนี้อยู่แล้ว
โดยรูปแบบค่าบริการจะอธิบายละเอียดในภายหลัง
และขอจบเกี่ยวกับจุดเด่นของ IVS ไว้เท่านี้
การมาของ Amazon IVS มีการเปลี่ยนแปลงอย่างไร
มาถึงจุดนี้คิดว่าทุกท่านน่าจะเข้าใจบ้างแล้วว่า IVS คืออะไร
แต่ก็คิดว่ามีคนจำนวนไม่น้อยที่ไม่มีความรู้เกี่ยวกับการเผยแพร่วิดีโอและ AWS Media Services รวมถึงยังไม่รู้ว่ามีการเปลี่ยนแปลงอย่างไรเมื่อ IVS ได้มีการเปิดตัวขึ้นมา
ทางด้านล่างจะเป็นขั้นตอนการทำงานในการเผยแพร่วิดีโอก่อนหน้านี้ ตั้งแต่หน้ากล้องไปจนถึงภาพบนหน้าจอ
รูปภาพทางด้านล่างจะแสดงรายละเอียดแต่ละบริการของ AWS MediaServices ว่ามีหน้าที่รับผิดชอบฟีเจอร์ไหนบ้างในการเผยแพร่วิดีโอ
ตามรายละเอียดข้างต้นจพบว่า ก่อนการเปิดตัวของ Amazon IVS ในการสร้างสภาพแวดล้อมการเผยแพร่วิดีโอบน AWS จำเป็นต้องใช้กลุ่ม AWS MediaServices (+α) ซึ่งแยกเทคโนโลยีการเผยแพร่วิดีโอแต่ละรายการออกเป็นบล็อค โดยจำเป็นต้องนำมาประกอบกันเพื่อให้ใช้งานร่วมกันได้
แต่หลังจากเปิดตัว IVS จะเป็นดังภาพนี้
นั่นคือ IVS เพียงบริการเดียวก็ครอบคลุมสถาปัตยกรรมต่างๆซึ่งสามารถนำไปใช้ร่วมกับบริการ MediaServices และบริการอื่นๆ ของ AWS ได้
กล่าวคือ การเปิดตัวของ Amazon IVS ทำให้สามารถสร้างสภาพแวดล้อมการเผยแพร่วิดีโอได้ในบริการเดียว
ตัวอย่างการใช้งาน ของ Amazon IVS
ก่อนที่จะพูดถึงตัวอย่างการใช้งานของ IVS รบกวนดูแผนภาพทางด้านล่างก่อนครับ
บนตารางในส่วนของ ความหน่วงต่ำสูง
จะเป็นบริการที่ต้องการการทำงานแบบโต้ตอบ (Interactive) เช่น การช้อปปิ้งแบบ Interactive, Interactive game หรือ การประมูลสด เป็นต้น ซึ่ง IVS จะมีบทบาทสำคัญในจุดนี้
และมีตัวอย่างการใช้งานในลักษณะต่อไปนี้
ค่าบริการ
ต่อไปจะเป็นเนื้อหาเกี่ยวกับค่าบริการครับ วิดีโอสดทั้งอินพุตและเอาต์พุตจะคำนวณค่าใช้จ่ายเป็นรายชั่วโมง
อินพุต
Channel Type | ความละเอียด อินพุตสูงสุด |
Bitrate สูงสุด |
ค่าบริการ อินพุต |
Transcode | ความละเอียดสูงสุด ที่ปรับได้ |
---|---|---|---|---|---|
Standard | FULL HD (1080p) |
8.5Mbps | $2.00/hour | รองรับ |
FULL HD (1080p) |
Advanced HD | FULL HD (1080p) |
8.5Mbps | $0.85/hour | รองรับ |
HD (720p) |
Advanced SD | FULL HD (1080p) |
8.5Mbps | $0.50/hour | รองรับ |
SD (480p) |
Basic | FULL HD (1080p) |
3.5Mbps | $0.20/hour | ไม่รองรับ | (ตามอินพุต ต้นฉบับ) |
※ราคานี้ใช้ร่วมกันทุก Region
โดยแต่ละ Channel Type จะมีข้อแตกต่างกันดังนี้
Standard: จะรองรับความละเอียดสูงสุดในการอินพุตที่ FULL HD (1080p) และรองรับการแปลงคุณภาพ(Transcode)ได้หลากหลายจากอินพุตดั้งเดิม โดยจะปรับให้เข้ากับอุปกรณ์และสภาพเครือข่ายของผู้ชมโดยอัตโนมัติเพื่อมอบประสบการณ์ที่ดีที่สุดเท่าที่จะเป็นไปได้ โดยรองรับการปรับความละเอียดสูงสุดที่ FULL HD (1080p)
Advanced HD: จะรองรับความละเอียดสูงสุดในการอินพุตที่ 1080p (Full HD) และรองรับการแปลงคุณภาพ(Transcode)ได้หลากหลายจากอินพุตดั้งเดิม โดยจะปรับให้เข้ากับอุปกรณ์และสภาพเครือข่ายของผู้ชมโดยอัตโนมัติเพื่อมอบประสบการณ์ที่ดีที่สุดเท่าที่จะเป็นไปได้ โดยรองรับการปรับความละเอียดสูงสุดที่ HD (720p)
Advanced SD: จะรองรับความละเอียดสูงสุดในการอินพุตที่ 1080p (Full HD) และรองรับการแปลงคุณภาพ(Transcode)ได้หลากหลายจากอินพุตดั้งเดิม โดยจะปรับให้เข้ากับอุปกรณ์และสภาพเครือข่ายของผู้ชมโดยอัตโนมัติเพื่อมอบประสบการณ์ที่ดีที่สุดเท่าที่จะเป็นไปได้ โดยรองรับการปรับความละเอียดสูงสุดที่ SD (480p)
Basic:จะรองรับความละเอียดสูงสุดในการอินพุตที่ 1080p (Full HD) แต่ไม่รองรับการแปลงคุณภาพ(Transcode) โดยจะเผยแพร่ด้วยความละเอียดตามอินพุตต้นฉบับไปยังผู้ชมโดยไม่ปรับความละเอียด
หากมีการใช้งาน Channel Type เป็น Standard, Advanced HD, Advanced SD จะรองรับฟังก์ชัน ABR (Adaptive Bit Rate) ที่จะมอบประสบการณ์ที่ดีที่สุดโดยอัตโนมัติตามข้อจำกัดด้านอุปกรณ์หรือเครือข่ายของผู้รับชม
เอาต์พุต
Hours delivered per month | SD | HD | Full HD |
---|---|---|---|
First 10,000 hours | $0.0460 | $0.0920 | $0.1840 |
Next 40,000 hours | $0.0420 | $0.0840 | $0.1680 |
Next 100,000 hours | $0.0390 | $0.0780 | $0.1560 |
Next 350,000 hours | $0.0350 | $0.0700 | $0.1400 | Over 500,000 hours | $0.0310 | $0.0620 | $0.1240 |
*ราคาข้างต้นเป็นราคาของประเทศดังนี้ Japan, Hong Kong, and South East Asia
** South East Asia includes: Indonesia, Philippines, Singapore, and Thailand
เนื่องจากค่าบริการจะแตกต่างกันพอสมควรในแต่ละ Region จึงต้องระวังในการเผยแพร่แบบ Global ด้วย
สามารถตรวจสอบรายละเอียดเพิ่มเติมเกี่ยวกับค่าบริการของ IVS ได้ที่นี่เลย
Amazon Interactive Video Service Pricing (English)
รวมอัพเดทที่น่าสนใจของ IVS
ในบทสุดท้ายนี้ จะมารวบรวมอัพเดทของ IVS ที่น่าสนใจมาแนะนำกันครับ
- เพิ่มฟีเจอร์การบันทึกสตรีมสดไปยัง S3
- เพิ่ม CloudWatch metrics (อย่างเช่นปริมาณผู้ชม)
- รองรับการใช้งาน SDK สำหรับ iOS และ Android
- เพิ่ม CloudWatch metrics (สถานะการสตรีมสด)
- สามารถตั้งค่าที่เกี่ยวกับการ generate thumbnails ได้แล้ว
** DevIO Blog
จะเป็นภาษาญี่ปุ่นทั้งหมดแต่ทุกบทความจะมีภาพประกอบครับ **
บทความอ้างอิง
- Interactive Live Streams – Amazon Interactive Video Service – Amazon Web Services
- Amazon Interactive Video Service FAQs (English)
- [開催報告] Amazon Interactive Video Service ローンチセミナー (Japanese)
- [UPDATE] Amazon IVSで品質とコストのバランスが最適化されたAdvanced Channel Typeが利用可能になりました! (Japanese)